home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 005 / product.arc / MACRO57.LSP < prev    next >
Text File  |  1986-11-18  |  5KB  |  111 lines

  1. ;For Version 2.18 
  2. (Defun C:Bplate () 
  3.        (Setvar "Cmdecho" 0) 
  4. ;-------------------------------INPUT
  5. SECTION---------------------------------- 
  6.        (Setq TAP nil) 
  7.        (Setq TAPSTRING nil) 
  8.        (Setq SIDE1 (Getreal "\nWhat is length of side 1: ")) 
  9.        (Setq SIDE2 (Getreal "\nWhat is length of side 2: ")) 
  10.        (Setq BOLTHOLE (Getreal "\nBolt hole size: ")) 
  11.        (Setq TAP (Getstring "\nAre the holes tapped <N>: ")) 
  12.        (If (= TAP "y") 
  13.            (Setq TAP "Y") 
  14.        ) 
  15.        (If (= TAP "Y") 
  16.            (Setq TAPSTRING (Getstring "\nEnter tap
  17. specification:")) 
  18.        ) 
  19.        (If (/= TAP "Y") 
  20.            (Setq TAPSTRING (Rtos BOLTHOLE 2 2)) 
  21.        ) 
  22.        (Setq CRADIUS (Getreal "\nCorner radius: ")) 
  23.        (If (> BOLTHOLE CRADIUS) 
  24.            (Setq INSET (Getreal "\nEnter bolt hole inset: ")) 
  25.            (Setq INSET CRADIUS) 
  26.        ) 
  27.        (Setq CHOLE (Getreal "\nCenter hole diameter: ")) 
  28.        (Setq DS (Getreal "\nEnter the dimension scale: ")) 
  29. ;-------------SET SCREEN SIZE, LIMITS, GRID, LTSCALE, AND DIMSCALE------------- 
  30.        (Setq LOWER (List (* DS -5) (* DS -5))) 
  31.        (Setq UPPER (List (+ (* 5 DS) SIDE1) (+ (* 5 DS) SIDE2))) 
  32.        (Command "Zoom" "W" LOWER UPPER) 
  33.        (Command "Limits" LOWER UPPER) 
  34.        (Command "Units" 2 2 2 4) 
  35.        (Command "Grid" (* 2 DS)) 
  36.        (Command "Dim" "Dimscale" DS) 
  37.        (Setvar "Blipmode" 0) 
  38.        (Setvar "Ltscale" DS) 
  39.        (Command) 
  40. ;--------------------------------CORNER POINTS--------------------------------- 
  41.        (Setq P1 (List 0 0)) 
  42.        (Setq P2 (List SIDE1 0)) 
  43.        (Setq P3 (List SIDE1 SIDE2)) 
  44.        (Setq P4 (List 0 SIDE2))   
  45. ;--------------------------------DRAW OUTSIDE--------------------------------- 
  46.        (command "Layer" "S" 1 "") 
  47.        (Command "Pline" P1 P2 P3 P4 "Cl") 
  48.        (Command "Fillet" "R" CRADIUS) 
  49.        (Command "Fillet" "P" "Last") 
  50. ;----------------------------------HOLES---------------------------------------- 
  51.        (Setq C1 (List INSET INSET)) 
  52.        (Setq C2 (List (- Side1 INSET) INSET)) 
  53.        (Setq C3 (List (- SIDE1 INSET) (- SIDE2 INSET))) 
  54.        (Setq C4 (List INSET (- SIDE2 INSET))) 
  55. ;-------------------------------CENTER HOLE------------------------------------ 
  56.        (Setq MPT (List (/ SIDE1 2) (/ SIDE2 2))) 
  57. ;----------------------------DRAW BOLT HOLES----------------------------------- 
  58.        (Command "Circle" (List INSET INSET) "D" BOLTHOLE) 
  59.        (Setq S1 (- SIDE1 (* 2 INSET))) 
  60.        (Setq S2 (- SIDE2 (* 2 INSET))) 
  61.        (Command "Array" "L" "" "R" 2 2 S2 S1) 
  62. ;----------------------------DRAW TAPPED HOLES--------------------------------- 
  63.        (If (= TAP "Y")  
  64.            (Progn 
  65.                  (Command "Layer" "S" 2 "") 
  66.                  (Command "Circle" (List INSET INSET) 
  67.                           "D" (+ BOLTHOLE (/ DS 16)) 
  68.                  ) 
  69.                  (Setq S1 (- SIDE1 (* 2 INSET))) 
  70.                  (Setq S2 (- SIDE2 (* 2 INSET))) 
  71.                  (Command "Array" "L" "" "R" 2 2 S2 S1) 
  72.            ) 
  73.        ) 
  74. ;-----------------------------DRAW CENTER HOLE--------------------------------- 
  75.        (Command "Layer" "S" 1 "") 
  76.        (Command "Circle" MPT "D" CHOLE) 
  77. ;-----------------------------DIMENSION POINTS--------------------------------- 
  78.        (Setq P5 (List 0 (- SIDE2 CRADIUS))) 
  79.        (Setq P6 (List SIDE1 (- SIDE2 CRADIUS))) 
  80.        (Setq P7 (List (- SIDE1 CRADIUS) SIDE2)) 
  81.        (Setq P8 (List (- SIDE1 CRADIUS) 0)) 
  82.        (Setq P9 (Polar MPT (/ Pi 4) (/ CHOLE 2))) 
  83.        (Setq P10 (Polar C4 (/ Pi 4) (/ BOLTHOLE 2))) 
  84.        (Setq P11 (List (+ (Car C4) INSET (/ DS 2)) 
  85.              (+ (Cadr C4) INSET (/ DS 2))) 
  86.        ) 
  87.        (Setq P12 (Polar C1 (* Pi -0.75) CRADIUS)) 
  88.        (Setq P13 (List (- 0.0 INSET (/ DS 2)) (- 0.0 INSET (/ DS 2)))) 
  89.        (Setq P14 (List 0 CRADIUS)) 
  90.        (Setq P15 (List Side1 CRADIUS)) 
  91.        (Setq P16 (List CRADIUS 0)) 
  92.        (Setq P17 (List CRADIUS SIDE2)) 
  93.        (Setq P18 (List (* DS -2) 0)) 
  94. ;----------------------------------DIMENSIONS----------------------------------- 
  95.        (Command "Layer" "S" 4 "") 
  96.        (Setq DS (* 2 DS)) 
  97.        (Command "Dim" "Hor" P5 C4 (List (Car P4) (+ (Cadr P4) DS)) "") 
  98.        (Command "Cont" C3 "") 
  99.        (Command "Cont" P6 "") 
  100.        (Command "Ver" P7 C3 (List (+ (Car P3) DS) (Cadr P3)) "") 
  101.        (Command "Cont" C2 "") 
  102.        (Command "Cont" P8 "") 
  103.        (Command "Dia" P9 "") 
  104.        (Command "Lea" P10 P11 "" TAPSTRING) 
  105.        (Setq CRADIUS (Rtos CRADIUS 2 2)) 
  106.        (Command "Lea" P12 P13 "" CRADIUS) 
  107.        (Command "Hor" P14 P15 P13 "") 
  108.        (Command "Ver" P16 P17 P18 "") 
  109.        (Command) 
  110.